package com.llc.mall.order.interfaces.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

public record OrderShopVo(
        @Schema(description = "店铺id", requiredMode = Schema.RequiredMode.REQUIRED) Long shopId,
        @Schema(description = "店铺名称", requiredMode = Schema.RequiredMode.REQUIRED) String shopName,
        @Schema(description = "商品总值", requiredMode = Schema.RequiredMode.REQUIRED) Long total,
        @Schema(description = "商品总数", requiredMode = Schema.RequiredMode.REQUIRED) Integer totalNum,
        @Schema(description = "地址Dto", requiredMode = Schema.RequiredMode.REQUIRED) OrderAddrVo orderAddr,
        @Schema(description = "产品信息", requiredMode = Schema.RequiredMode.REQUIRED) List<OrderItemVo> orderItems,
        @Schema(description = "订单创建时间", requiredMode = Schema.RequiredMode.REQUIRED) Date createTime,
        @Schema(description = "订单付款时间") Date payTime,
        @Schema(description = "订单发货时间") Date deliveryTime,
        @Schema(description = "订单完成时间") Date finallyTime,
        @Schema(description = "订单取消时间") Date cancelTime,
        @Schema(description = "订单更新时间") Date updateTime,
        @Schema(description = "配送类型 3：无需快递", requiredMode = Schema.RequiredMode.REQUIRED) Integer deliveryType,
        @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED) Integer status
) implements Serializable {}
